package org.dromara.vehicle.modules.driver.domain.vo;

import cn.hutool.core.date.DatePattern;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.vehicle.modules.driver.domain.DriverViolationRecord;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;



/**
 * 驾驶员违章记录视图对象 driver_violation_record
 *
 * @author ckk
 * @date 2025-06-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DriverViolationRecord.class)
public class DriverViolationRecordVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long id;

    /**
     * 关联车辆基本信息表ID
     */
    @ExcelProperty(value = "关联车辆基本信息表ID")
    private Long vehicleId;

    /**
     * 车牌号
     */
    @ExcelProperty(value = "车牌号")
    private String licensePlate;

    /**
     * 违章日期
     */
    @ExcelProperty(value = "违章日期")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
    private Date violationDate;

    /**
     * 违章地点
     */
    @ExcelProperty(value = "违章地点")
    private String location;

    /**
     * 违章行为
     */
    @ExcelProperty(value = "违章行为")
    private String violationAct;

    /**
     * 扣分
     */
    @ExcelProperty(value = "扣分")
    private Integer demeritPoints;

    /**
     * 罚款(元)
     */
    @ExcelProperty(value = "罚款(元)")
    private BigDecimal fineAmount;


}
